package com.web.base.auth.facade;

import com.blue.jdbc.Page;
import com.web.base.auth.message.AppRequest;
import com.web.base.auth.message.AppResponse;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 应用接口
 * 
 * @author 代码由 blue-code 框架生成
 * @since 1.0 2017年04月15日
 */
public interface AppFacade
{

	/**
	 * 添加应用
	 */
	AppResponse add(AppRequest request);

	/**
	 * 更新应用
	 */
	AppResponse update(AppRequest request);
	
	/**
	 * 查询单个应用
	 */
	AppResponse get(Integer id);
	
	/**
	 * 查询单个应用
	 */
	AppResponse getByCode(String code);
	
	/**
	 * 查询多个应用
	 */
	Map<Integer, AppResponse> getList(Collection<Integer> idList);
	
	/**
	 * 查询应用，分页
	 */
	Page<AppResponse> listPage(AppRequest request, int start, int size);
	
	/**
	 * 查询所有应用
	 */
	List<AppResponse> listAll();
	
	/**
	 * 刷新缓存
	 */
	void refresh();
	
}
